This invention relates to a communications device comprising a processor having instructions that execute the processor in the form of interacting computer programs. The invention relates to such a device with a message manager program and a message client program.
In the field of communication devices it has become desirable to make provision for more than one application program for enabling a user of the device to interact with incoming and outgoing messages. Such messages may be conveyed to and from the device over any of a number of bearer services or xe2x80x9ctransportsxe2x80x9d, as described in U.S. Pat. No. 5,509,000 of Oberlander. Examples of such bearer services are: short messaging service in GSM xe2x80x9cglobal system or mobilexe2x80x9d digital cellular radio systems; universal datagram protocol xe2x80x9cUDPxe2x80x9d packets; and internet protocol xe2x80x9cIPxe2x80x9d packets.
When there are multiple bearers conveying messages to and from multiple user applications, at least two possible alternative architectures are available. In the first alternative, a universal mailbox is provided. All messages arrive at and are dispatched from the universal mailbox, regardless of the application that creates the message or accepts the message. This a complex arrangement from the point of view of facilitating application development, because careful consideration needs to be given to the interaction to the different applications and the competition of applications for handling of messages in the universal mailbox.
An alternative architecture provides that each application has its own mailbox. This is a more modular approach that is suitable for unlimited expansion by addition of new applications. A message manager is required between the applications and the various transports to manage the receipt and dispatch of messages between the various applications and the various transports.
It would be desirable to provide a message manager and an interface to one or more applications in an object-oriented programming language such as Java (TM), but currently such a language has no defined application programmer interface (API) adequate for such a function. It would be desirable to create an API that facilitates the handling and dispatching of messages between a message manager and various applications in a clear and a convenient manner to ensure the correct messages are delivered to the correct applications and to ensure that applications only receive messages that are of interest to those applications.